local key = KEYS[1];
local threadId = ARGV[1];
local releaseTime = ARGV[2];

-- 判断锁是否存在
if(redis.call("exists", key) == 0) then
    -- 不存在 获取锁
    redis.call("hset", key, threadId,"1");
    redis.call("expire", key, releaseTime);
    return 1; -- 返回结果
end;
-- 锁已经存在 判断锁是否是自己
if(redis.call("hexists", key, threadId) == 1) then
    -- 获取锁，重入次数+1
    redis.call("hincrby", key, threadId, "1");
    redis.call("expire", key, releaseTime);
    return 1; -- 返回结果
end;
return 0; -- 走到这说明锁不是自己的，获取锁失败


